package com.cw.DesignModel23.Structural.DecoratorPattern.Decorator2;

import com.cw.DesignModel23.Structural.DecoratorPattern.Decorator2.Drink.Drink;

public class Main {

    public static void main(String[] args) {

        System.out.println("============== 订单1 =============");
        // 装饰者模式下的订单：2份巧克力+一份牛奶的LongBlack
        // 1. 点一份 LongBlack
        Drink order = new LongBlack();
        System.out.println("费用=" + order.cost());
        System.out.println("描述=" + order.getDes());
        System.out.println();

        // 2.加入一份牛奶
        order = new Milk(order);
        System.out.println("order 加入一份牛奶 费用 =" + order.cost());
        System.out.println("order 加入一份牛奶 描述 = " + order.getDes());
        System.out.println();

        // 3.加入一份巧克力
        order = new Chocolate(order);
        System.out.println("order 加入一份牛奶 加入一份巧克力 费用 =" + order.cost());
        System.out.println("order 加入一份牛奶 加入一份巧克力 描述 = " + order.getDes());
        System.out.println();

        // 4.加入一份巧克力
        order = new Chocolate(order);
        System.out.println("order 加入一份牛奶 加入2份巧克力 费用 =" + order.cost());
        System.out.println("order 加入一份牛奶 加入2份巧克力 描述 = " + order.getDes());
        System.out.println();

    }

}

